Firebird a COLLATE pro ISO8859_2

Otázka od: Pavel Poles

13. 5. 2004 17:55

Zdravim konferenci,

Mel bych dotaz ohledne ceskeho trideni na FireBird 1.5.
V databazi pouzivame Character Set ISO8859_2, z duvodu
klientu jak na Windows tak na Linuxu. Pro COLLATE jsou definovany
dve sady: ISO8859_2 a CS_CZ, ani jedna z nich vsak neradi spravne Ch.
Existuje jeste nejaka jina moznost? Napr jina COLLATE sada pro
nainstalovani do Firebird?
Nebo pro spravne ceske razeni je nutne pouzit WIN1250 a PXW_CSY?
Pokud ano, lze toto provozovat i na klientech na Linuxu?

Dalsi dotaz bych mel ohledne COLLATE sad stahnutelnych z
www.ibcollate.com. Pouzivate to nekdo? Po precteni stranek
jsem ziskal dojem ze uz je to mrtvy projekt a ze FB1.5 neni
podporovan. Existuje nekde nake pokracovani nebo alternativa
pro tyto NOCASE a NOACCENT collate sady?

Predem dik za odpovedi

Pavel Poles

Odpovedá: Pavel Cisar

13. 5. 2004 18:38

Haj hou!

On 13 May 2004 at 18:35, Pavel Poles wrote:

> Mel bych dotaz ohledne ceskeho trideni na FireBird 1.5.
> V databazi pouzivame Character Set ISO8859_2, z duvodu
> klientu jak na Windows tak na Linuxu. Pro COLLATE jsou definovany
> dve sady: ISO8859_2 a CS_CZ, ani jedna z nich vsak neradi spravne Ch.

ISO8859_2 je pro binarni razeni, a tudiz ch neradi. CS_CZ by ch melo
radit spravne. jezte si to overte, a pokud opravdu neradi, pak je to
chyba a meli by jste ji zalogovat do bugtraq.

> Existuje jeste nejaka jina moznost? Napr jina COLLATE sada pro
> nainstalovani do Firebird?
> Nebo pro spravne ceske razeni je nutne pouzit WIN1250 a PXW_CSY?
> Pokud ano, lze toto provozovat i na klientech na Linuxu?

Razeni nema s platformou nic spolecneho, a WIN1250+PXW_CSY lze pouzit
i v databazi provozovane na linuxu. To co je pro klienta dulezite je
znakova sada v ktere pracuje -> automaticke prekodovani.

> Dalsi dotaz bych mel ohledne COLLATE sad stahnutelnych z
> www.ibcollate.com. Pouzivate to nekdo? Po precteni stranek
> jsem ziskal dojem ze uz je to mrtvy projekt a ze FB1.5 neni
> podporovan. Existuje nekde nake pokracovani nebo alternativa
> pro tyto NOCASE a NOACCENT collate sady?

Sady z ibcollate.com by mely jit adaptovat pro FB 1.5 (upravit zdroje
a prelozit). Problematika narodnich znaku a trideni je stale otevrena
a prubezne je diskutovana ve firebird-devel a ib-architect.
Doporucoval bych podivat se do archivu konferenci, pripadne se ptat
primo tam.

S pozdravem
Pavel Cisar ( ICQ: 89017288)
Mobil: 724 281429
http://www.ibphoenix.cz
Vse co potrebujete pro Firebird a InterBase


Odpovedá: Pavel Poles

13. 5. 2004 19:16

> ISO8859_2 je pro binarni razeni, a tudiz ch neradi. CS_CZ by ch melo
> radit spravne. jezte si to overte, a pokud opravdu neradi, pak je to
> chyba a meli by jste ji zalogovat do bugtraq.

Jeste jednou jsem to overoval a skutecne mi ch radi jako c a h tudiz pred
cz a ne az za.

> Razeni nema s platformou nic spolecneho, a WIN1250+PXW_CSY lze pouzit
> i v databazi provozovane na linuxu. To co je pro klienta dulezite je
> znakova sada v ktere pracuje -> automaticke prekodovani.

Jestli tomu tedy rozumim musim pri kazdem nacteni dat na Linuxu nacist data
jako
WIN1250, prekodovat je Zobrazit uzivateli a pri ukldanai opet prekodovat z
ISO8859_2 na WIN1250 a tak je ulozit....

> Sady z ibcollate.com by mely jit adaptovat pro FB 1.5 (upravit zdroje
> a prelozit). Problematika narodnich znaku a trideni je stale otevrena
> a prubezne je diskutovana ve firebird-devel a ib-architect.
> Doporucoval bych podivat se do archivu konferenci, pripadne se ptat
> primo tam.

Ohledne techto sad, je spravna ma domenka ze pokud je budu vyuzivat
pak zapis LIKE 'a%' bedu stejny jako LIKE 'A%'? Jinak receno nebude nutne
psat napr WHERE UPPER(FIELD) LIKE 'A%'?
Lze nejak jinak donutit Firebird aby pri vyberu za pouziti podminky
obsahujici
UPPER vyuzil INDEX?

Predem dekuji za odpovedi

Pavel Poles


Odpovedá: Pavel Cisar

13. 5. 2004 21:15

Haj hou!

On 13 May 2004 at 19:55, Pavel Poles wrote:

> Jeste jednou jsem to overoval a skutecne mi ch radi jako c a h tudiz pred
> cz a ne az za.

Ok, muzete to zalogovat na SourceForge ?
https://sourceforge.net/tracker/?atid=109028&group_id=9028&func=browse
 
> Jestli tomu tedy rozumim musim pri kazdem nacteni dat na Linuxu nacist
> data jako WIN1250, prekodovat je Zobrazit uzivateli a pri ukldanai opet
> prekodovat z ISO8859_2 na WIN1250 a tak je ulozit....

Konvertovat nic nemusite, to se provede automaticky, pokud klient
specifikuje odlisny charset nez je v databazi (vyz parametry
pripojeni k databazi).
 
> Ohledne techto sad, je spravna ma domenka ze pokud je budu vyuzivat
> pak zapis LIKE 'a%' bedu stejny jako LIKE 'A%'? Jinak receno nebude nutne
> psat napr WHERE UPPER(FIELD) LIKE 'A%'?

Ano.

> Lze nejak jinak donutit Firebird aby pri vyberu za pouziti podminky
> obsahujici UPPER vyuzil INDEX?

Zatim ne. Melo by to jit az budou implementovane expression indexy.

S pozdravem
Pavel Cisar ( ICQ: 89017288)
Mobil: 724 281429
http://www.ibphoenix.cz
Vse co potrebujete pro Firebird a InterBase